package slstone.quote.writtenEstimate.dao.pojo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

public class WrittenEstimate implements Serializable
{

	private String id; // id
	private String stoneBreed; // 석종
	private String methods;// 마감
	private int thickness;// 두께
	private int width;// 너비
	private int length;// 길이
	private String unit;// 단위
	private String no;// 넘버
	private String processingDrawing; // 가공도
	private BigDecimal stoneCosts; // 석재비
	private BigDecimal processingCosts; // 가공비
	private BigDecimal shippingCosts;// 해운비
	private BigDecimal largeSizePrice;// 대판가격
	private BigDecimal genStonePrice; // 원석가격
	private String region; // 지역
	private BigDecimal fobPrice; // FOB단가
	private String seaport; // 항구
	private BigDecimal cnfPrice; // CNF단가
	private String rank; // 등급
	private String notes; // 비고
	private Timestamp regDt; // 등록일자
	private Timestamp updateDt; // 수정일자

	
	
	public String getId()
	{
		return id;
	}

	public void setId(String id)
	{
		this.id = id;
	}

	public String getStoneBreed()
	{
		return stoneBreed;
	}

	public void setStoneBreed(String stoneBreed)
	{
		this.stoneBreed = stoneBreed;
	}

	public String getMethods()
	{
		return methods;
	}

	public void setMethods(String methods)
	{
		this.methods = methods;
	}

	public int getThickness()
	{
		return thickness;
	}

	public void setThickness(int thickness)
	{
		this.thickness = thickness;
	}

	public int getWidth()
	{
		return width;
	}

	public void setWidth(int width)
	{
		this.width = width;
	}

	public int getLength()
	{
		return length;
	}

	public void setLength(int length)
	{
		this.length = length;
	}

	public String getUnit()
	{
		return unit;
	}

	public void setUnit(String unit)
	{
		this.unit = unit;
	}

	public String getNo()
	{
		return no;
	}

	public void setNo(String no)
	{
		this.no = no;
	}

	public String getProcessingDrawing()
	{
		return processingDrawing;
	}

	public void setProcessingDrawing(String processingDrawing)
	{
		this.processingDrawing = processingDrawing;
	}

	public BigDecimal getStoneCosts()
	{
		return stoneCosts;
	}

	public void setStoneCosts(BigDecimal stoneCosts)
	{
		this.stoneCosts = stoneCosts;
	}

	public BigDecimal getProcessingCosts()
	{
		return processingCosts;
	}

	public void setProcessingCosts(BigDecimal processingCosts)
	{
		this.processingCosts = processingCosts;
	}

	public BigDecimal getShippingCosts()
	{
		return shippingCosts;
	}

	public void setShippingCosts(BigDecimal shippingCosts)
	{
		this.shippingCosts = shippingCosts;
	}

	public BigDecimal getLargeSizePrice()
	{
		return largeSizePrice;
	}

	public void setLargeSizePrice(BigDecimal largeSizePrice)
	{
		this.largeSizePrice = largeSizePrice;
	}

	public BigDecimal getGenStonePrice()
	{
		return genStonePrice;
	}

	public void setGenStonePrice(BigDecimal genStonePrice)
	{
		this.genStonePrice = genStonePrice;
	}

	public String getRegion()
	{
		return region;
	}

	public void setRegion(String region)
	{
		this.region = region;
	}

	public BigDecimal getFobPrice()
	{
		return fobPrice;
	}

	public void setFobPrice(BigDecimal fobPrice)
	{
		this.fobPrice = fobPrice;
	}

	public String getSeaport()
	{
		return seaport;
	}

	public void setSeaport(String seaport)
	{
		this.seaport = seaport;
	}

	public BigDecimal getCnfPrice()
	{
		return cnfPrice;
	}

	public void setCnfPrice(BigDecimal cnfPrice)
	{
		this.cnfPrice = cnfPrice;
	}

	public String getRank()
	{
		return rank;
	}

	public void setRank(String rank)
	{
		this.rank = rank;
	}

	public String getNotes()
	{
		return notes;
	}

	public void setNotes(String notes)
	{
		this.notes = notes;
	}

	public Timestamp getRegDt()
	{
		return regDt;
	}

	public void setRegDt(Timestamp regDt)
	{
		this.regDt = regDt;
	}

	public Timestamp getUpdateDt()
	{
		return updateDt;
	}

	public void setUpdateDt(Timestamp updateDt)
	{
		this.updateDt = updateDt;
	}
	
	
	
	
	public boolean equals(Object obj)
	{
		if(!(obj instanceof WrittenEstimatePK))
		{
			return false;
		}
		else
		{
			WrittenEstimate writtenEstimate = (WrittenEstimate)obj;
						
			return new EqualsBuilder().appendSuper(super.equals(obj))
					.append(this.id, writtenEstimate.id)
					.append(this.methods, writtenEstimate.methods)
					.append(this.stoneBreed, writtenEstimate.stoneBreed)
					.append(this.unit, writtenEstimate.unit)
					.isEquals();
		}
	}
	
	
	public int hashCode()
	{
		return new HashCodeBuilder(-528253723, -475504089)
		.appendSuper(super.hashCode())
		.append(this.id)
		.append(this.methods)
		.append(this.stoneBreed)
		.append(this.unit)
		.toHashCode();
	}

}
